package com.bytz.modules.cms.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bytz.modules.cms.product.entity.Product;

import java.util.Collection;
import java.util.List;

/**
 * <p>
 * 莱宝CMS—产品管理—产品基本信息表 服务类
 * </p>
 *
 * @author KyleWang
 * @since 2022-10-10
 */
public interface IProductService extends IService<Product> {

    /**
     * 根据PN码获取产品
     */
    Product getByProductNumber(String productNumber);

    /**
     * 根据PN码获取产品列表
     */
    List<Product> getByProductNumbers(Collection<String> productNumber);

    /**
     * 根据商品id左匹配搜索商品基础信息
     */
    List<Product> searchProduct(String productNumber);

    /**
     * 商品id获取商品
     */
    List<Product> getByIds(Collection<String> ids);

    /**
     * 设置商品是否是ec商品
     */
    Boolean setIsEc(Collection<String> productNumbers, boolean isEc);

    /**
     * 获取全部ec商品
     */
    List<Product> getEcProducts();

    /**
     * 检查所有商品中有没有大类不在这些大类中的
     */
    List<Product> hasHierarchyExclude(List<String> hierarchyNumbers);
}
